# 1) 1 2 3 4可以组成多少互不相同的三位数
d = []
for i in range(1,5):
    for j in range(1,5):
        for k in range(1,5):
            # if( i != k ) and (i != j) and (j != k):
            if( i != k ) & (i != j) & (j != k):
                d.append([i,j,k])
                # print (i,j,k)
               # print("{:.2f},{:.2f},{:.2f}".format(i,j,k))
print("total:",len(d))
print(d)
#
# d=[]
# for a in range(1,5):
#   for b in range(1,5):
#       for c in range(1,5):
#           if (a!=b) and (a!=c) and (c!=b):
#               d.append([a,b,c])
#
# print("总数量：{:.2f}".format(len(d)))
# #print "总数量：", len(d)
# #print d
# print(d)
#
# line=[]
# for i in range(123,433):
#   a=i%10
#   b=(i%100)//10
#   c=(i%1000)//100
#   if a!=b and b!=c and a!=c  and 0<a<5 and 0<b<5 and 0<c<5 :
#       print (i)
#       line.append(i)
# print('the total is :',len(line))
#
# list_num = [1,2,3,4]
#
# list  = [i*100 + j*10 + k for i in list_num for j in list_num for k in list_num if (j != i and k != j and k != i)]
#
# print (list)
#
# #用集合去除重复元素
# import pprint
#
# list_num=['1','2','3','4']
# list_result=[]
# for i in list_num:
#   for j in list_num:
#       for k in list_num:
#           if len(set(i+j+k))==3:
#               list_result+=[int(i+j+k)]
# print("能组成%d个互不相同且无重复数字的三位数: "%len(list_result))
# pprint.pprint(list_result)
#
# from itertools import permutations
#
# for i in permutations([1, 2, 3, 4], 3):
#   print(i)
#
#
# from itertools import permutations
#
# for i in permutations([1, 2, 3, 4], 3):
#   k = ''
#   for j in range(0, len(i)):
#       k = k + str(i[j])
#   print (int(k))
#
# for num in range(6,58):
#   a = num >> 4 & 3
#   b = num >> 2 & 3
#   c = num & 3
#   if( (a^b) and (b^c) and (c^a) ):
#       print (a+1,b+1,c+1)
#
#
# for i in range(1, 5):
#   for j in range(1, 5):
#       if (j==i) :
#           continue;
#       for k in range(1, 5):
#           if (k==i or k==j):
#               continue;
#           print(i,j,k);
#
#
# list = [1,2,3,4]
# for i in list:
#   list1 = list.copy()
#   list1.remove(i)
#   for j in list1:
#       list2 = list1.copy()
#       list2.remove(j)
#       for k in list2:
#           print(i, j, k)
#
#
# list_num = [1,2,3,4]
# list = [i*100 + j*10 + k for i in list_num for j in list_num for k in list_num if ( i != j and i != k and j != k)]
# d = len(list)
# print('1,2,3,4能组成 %d 个互不相同且无重复数字的三位数。' % d)
# print('他们各是:%s' % list)
#
#
# from itertools import permutations
# t = 0
# for i in permutations('1234',3):
#   print(''.join(i))
#   t += 1
#
# print("不重复的数量有:%s"%t)
#
# #encoding=utf8
# #有四个数字：1、2、3、4，能组成多少个互不相同且无重复数字的三位数？各是多少？
# d = []
# for j in range(1,5):
#   for k in range(1,5):
#       for l in range(1,5):
#           if l!=j!=k!=l:
#               d.append(int(str(j)+str(k)+str(l)))
# print (d)
# print (len(d))
#
# print("----------递归法  -------------")
# #递归法
# def f01(i):
#   if i==123:
#       print(i)
#       return
#   else:
#       if (set('567890') & set(str(i))==set()) and (len(set(str(i)))==3):
#          print(i)
#       f01(i-1)
# f01(432)
#
# print("----------生成器法-------------")
# #生成器法
# def f02():
#   for i in range(123,433):
#       if (set('567890') & set(str(i))==set()) and (len(set(str(i)))==3):
#           yield i
#
# for i in f02():
#   print(i)'''
#
# import itertools
#
# DataIn = list('1234')
# TmpList = []
# for x in list(itertools.combinations(DataIn,3)):
#     TmpList = TmpList + list(itertools.permutations(x,3))
# for i in TmpList:
#     print(''.join(i))
